package com.ruicar.afs.cloud.afscase.loanapprove.task.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruicar.afs.cloud.afscase.loanapprove.task.condition.LoanApproveTaskCondition;
import com.ruicar.afs.cloud.afscase.loanapprove.task.vo.LoanApproveTaskVO;

import java.util.List;

/**
 * <p>Description：放款审核任务处理接口</p>
 *
 * @author xueyu.ma
 * @Version 1.0
 * @CreateDate 2020-5-25
 */
public interface LoanApproveTaskService {

    /**
     * 获取放款审核待办任务列表
     *
     * @param page                     页码
     * @param loanApproveTaskCondition 查询条件
     */
    IPage<LoanApproveTaskVO> getLoanApproveTaskVOList(Page page, LoanApproveTaskCondition loanApproveTaskCondition);

    /**
     * 获取经我办理的任务
     *
     * @param page                     页码
     * @param loanApproveTaskCondition 查询条件
     */
    IPage<LoanApproveTaskVO> getloanDealWithTaskList(Page page, LoanApproveTaskCondition loanApproveTaskCondition);


    /**
     * 公共任务池
     */
    IPage<LoanApproveTaskVO> queryCommonPoolTaskList(Page page, LoanApproveTaskCondition loanApproveTaskCondition);

    /**
     * 复核任务池
     */
    IPage<LoanApproveTaskVO> queryWaitReviewPoolTaskList(Page page, LoanApproveTaskCondition loanApproveTaskCondition);

    /**
     * 所有合同案件
     */
    IPage<LoanApproveTaskVO> queryAllPoolTaskList(Page page, LoanApproveTaskCondition loanApproveTaskCondition);

    /**
     * 锁定、解锁
     *
     * @param contractNoList 申请编号列表
     * @param status 锁定状态
     * */
    Integer modifyLock(List contractNoList, String status,String lockRemark);

    /**
     * 添加标签
     * @param contractNoList 申请编号列表
     * */
    Integer modifyLabel(List contractNoList, String label);

    /**
     * 置顶
     *
     * @param contractNoList 申请编号列表
     * @param status 置顶状态
     * */
    Integer modifyTop(List contractNoList, String status);

    /**
     * 标签删除
     *
     * @param contractNoList 申请编号列表
     * */
    void delLabelList(List contractNoList);

}
